package services.impl;

import services.*;
import entities.*;
import java.util.List;
import java.util.LinkedList;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.function.Predicate;
import java.util.Arrays;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import java.util.function.BooleanSupplier;
import org.apache.commons.lang3.SerializationUtils;
import java.util.Iterator;

public class GymSystemImpl implements GymSystem, Serializable {
	
	
	public static Map<String, List<String>> opINVRelatedEntity = new HashMap<String, List<String>>();
	
	
	ThirdPartyServices services;
			
	public GymSystemImpl() {
		services = new ThirdPartyServicesImpl();
	}

	public void refresh() {
		ProcessCheckInOutService processcheckinoutservice_service = (ProcessCheckInOutService) ServiceManager
				.getAllInstancesOf("ProcessCheckInOutService").get(0);
		ViewWorkoutRecordByMemberService viewworkoutrecordbymemberservice_service = (ViewWorkoutRecordByMemberService) ServiceManager
				.getAllInstancesOf("ViewWorkoutRecordByMemberService").get(0);
		ViewWorkoutRecordByStaffService viewworkoutrecordbystaffservice_service = (ViewWorkoutRecordByStaffService) ServiceManager
				.getAllInstancesOf("ViewWorkoutRecordByStaffService").get(0);
		GenerateWorkoutReportService generateworkoutreportservice_service = (GenerateWorkoutReportService) ServiceManager
				.getAllInstancesOf("GenerateWorkoutReportService").get(0);
	}			
	
	/* Generate buiness logic according to functional requirement */
	
	
	
	/* temp property for controller */
			
	/* all get and set functions for temp property*/
	
	/* invarints checking*/
	public final static ArrayList<String> allInvariantCheckingFunction = new ArrayList<String>(Arrays.asList());
			
}
